package controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

/**
 * @date 2025/9/25
 */
//@RequestMapping注解用于配置访问命令
//该注解可以配置在类上，也可以配置在方法上
//如果配置在方法上，必须先访问类，再访问方法
//例如:此时类上注解value为/HELLO，方法上为/f1
//那么最终访问命令即为:/hello/f1
@Controller
@RequestMapping
public class HelloAnnotationController {
    @RequestMapping("f1")
    public ModelAndView f1(){
        ModelAndView mav = new ModelAndView();
        //存储数据
        //该方式相当于向request作用域中存储数据
        //即:request.setAttribute(key,value)
        mav.addObject("msg","Hello SpringMVC Annotation");
        //设置视图名，用于页面跳转
        //视图名需要经过viewResolver解析的
        //最终访问的页面为:前缀+视图名+后缀
        //例如:此处前缀配置为:/WEB-INF/pages/,后缀配置为:.jsp
        //那么最终访问的页面即为:/WEB-INF/pages/hello.jsp
        mav.setViewName("hello");
        return mav;
    }

    @RequestMapping("f2")
    public String f2(HttpServletRequest request){
        request.setAttribute("msg","Hello World");
        return "hello";
    }
}
